radionica_vektori_matrice
automatic_names(True)
a=[1,2,3] b=[6,-4,2]
a+b
2*a
a-b
a*b
a[1]=-10
a
c=(1,2,3) d=(6,-4,2)
c+d
c-d
c[1]=-9
Vektori
help(vector)
a=vector((1,2,3)) b=vector([6,-4,2])
a.parent()
a1=vector(QQ,(1,2,3))
a1.parent()
a+b
2*a
a-b
2/3*a-5*b
a.norm()
norm(a)
a.dot_product(b)
a.cross_product(b)
def SP(v1,v2): v1=vector(v1) v2=vector(v2) return v1.dot_product(v2)
SP((1,2,3),[0,-2,1])
SP(a,b)
a
⃗
×
(
b
⃗
+
c
⃗
)
=
a
⃗
×
b
⃗
+
a
⃗
×
c
⃗
a=vector((a_x,a_y,a_z)) b=vector((b_x,b_y,b_z)) c=vector((c_x,c_y,c_z))
lijeva_strana=a.cross_product(b+c) desna_strana=a.cross_product(b)+a.cross_product(c)
lijeva_strana
desna_strana
lijeva_strana-desna_strana
rez=lijeva_strana-desna_strana
rez
rez.apply_map(lambda t:expand(t))
Odredite
m
∈
R
tako da vektor
a
⃗
zatvara jednake kutove s vekltorima
b
⃗
i
c
⃗
a=vector((2*m,1,1-m)) b=vector((-1,3,0)) c=vector((5,-1,8))
jednadzba=a.dot_product(b)/(norm(a)*norm(b))==a.dot_product(c)/(norm(a)*norm(c)) jednadzba
solve(jednadzba,m)
vektor nad simboličkim prstenom
v=vector((2^(1/3),-4,1))
v.parent()
vektor nad
R
w=vector(RR,(2^(1/3),-4,1))
w
w1=vector(RealField(200),(2^(1/3),-4,1))
w1
vektor definiran preko formule
vector(i^2 for i in xrange(5))
vektori nad konačnim poljem
v1=vector(GF(3),(1,1,0)) v2=vector(GF(3),(2,1,2))
v1+v2
3*v1
5*v1
vector(GF(3),(i^2 for i in xrange(5)))
Matrice
help(matrix)
A=matrix([[2,3,4],[-1,-5,1]]) B=matrix([[8,5,2],[0,-2,7]])
A1=matrix(2,3,[2,3,4,-1,-5,1])
A
A1
A[0,0]
A[1,1]
B
A+B
A-B
A*B
C=matrix([[3,1],[6,2],[-5,4]])
C
A*C
-3/2*A
A.T
A.apply_map(sin)
A.apply_map(lambda t:t-cos(t))
A.parent()
A2=matrix(QQ,[[2,3,4],[-1,-5,0]])
A3=matrix(QQ,2,3,[2,3,4,-1,-5,0])
A2.parent()
A3
matrice nad prstenom
A=matrix([[2,3,15],[0,16,22]]) B=matrix([[19,25,18],[19,23,7]])
A,B,A+B,A-B
A=matrix(Integers(26),[[2,3,15],[0,16,22]]) B=matrix(Integers(26),[[19,25,18],[19,23,7]])
A,B,A+B,A-B
matrice definirane formulom
matrix(3,4,lambda i,j:i^2-j^2)
matrix(3,4,lambda i,j:(i+1)^2-(j+1)^2)
matrix(GF(3),3,4,lambda i,j:(i+1)^2-(j+1)^2)
matrix(3,4,lambda i,j: cos((i+1)*pi/2) if i>j else log(i+j+2,2))
Ispisivanje velikih matrica
M=matrix(15,30,lambda i,j:(i-j)/(i+j+1))
M
print M.str()
f=open('M.txt','w') f.write(M.str()) f.close()
M2=matrix(300,200,lambda i,j:2*i-j)
f=open('M2.txt','w') f.write(M2.str()) f.close()
Kvadratne matrice
A=matrix([[5,3],[19,1]]) B=matrix(Integers(26),[[5,3],[19,1]])
A.det()
B.det()
A^-1
B^-1
det(A)
A2=matrix([[14,3],[25,1]]) B2=matrix(Integers(26),[[14,3],[25,1]])
A2.det(),B2.det()
A2^-1
B2^-1
C=matrix(Integers(26),[[3,2],[1,5]])
C.det()
C^-1
reset('a')
det(matrix(5,5,[a,a,a,a,a,-2,a,a,a,a,2,0,a,a,a,-4,0,0,a,a,4,0,0,0,a]))
svojstvene vrijednosti
A=matrix([[5,-6,-6],[-1,4,2],[3,-6,-4]]);A
A.charpoly()
A.charpoly(t)
A.fcp()
A.minpoly()
A.minpoly().factor()
A.eigenvalues()
A.eigenvectors_right()
A.eigenspaces_right()
A.eigenspaces_right(algebraic_multiplicity=True)
D,P=A.eigenmatrix_right()
D,P
P^-1*A*P
P^-1*A*P==D
A.eigenspaces_left()
matrix([[1,-2,-2]])*A
M=matrix(QQ,[[0,-1,0],[1,0,0],[0,0,2]])
M.eigenvalues()
M.parent()
M.eigenvalues(extend=False)
jezgra i slika
A=matrix([[2,3,5,-3,-2],[3,4,3,-1,-3],[5,6,-1,3,-5]]) B=matrix(QQ,[[2,3,5,-3,-2],[3,4,3,-1,-3],[5,6,-1,3,-5]])
A.right_kernel()
B.right_kernel()
A.echelon_form()
B.echelon_form()
A.rank()
A.right_nullity()
B1=matrix([[1,2,-1,3,4],[2,4,-2,6,8],[1,3,2,2,6],[1,4,5,1,8],[2,7,3,3,9]]) B2=matrix(QQ,[[1,2,-1,3,4],[2,4,-2,6,8],[1,3,2,2,6],[1,4,5,1,8],[2,7,3,3,9]])
B1
B1.echelon_form()
B2.echelon_form()
Vektorski prostori
V=VectorSpace(QQ,3);V
V1=span([[1,0,0],[0,1,0],[0,0,1]],QQ);V1
V.basis()
V.basis_matrix()
V.dimension()
vector((1,3,2)) in V, vector((1,2/3,1.41)) in V, vector((1,2/3,2^(1/3))) in V, vector((1,2/3,1.41,5)) in V
promjena baze u vektorskom prostoru
V=V.span_of_basis([[1,0,0],[1,2,0],[3,4,5]]);V
V.basis()
V.coordinates((1,1,4))
još vektorskih prostora
U=VectorSpace(RealField(200),4);U
U.basis_matrix()
C=VectorSpace(CC,4);C
C.basis_matrix()
C1=VectorSpace(ComplexField(200),3);C1
C1.basis_matrix()
W=VectorSpace(SR,5)
W.basis_matrix()
vector((1,3,2/3,5.67,1)) in W, vector((2,5^(2/3),1,0.33,2.2)) in W, vector((2,sin(3),7,2.1,log(2,3))) in W,vector((3,3+I,2,1,0)) in W
T=VectorSpace(QQbar,3);T
vektorski prostori nad konačnim poljem
GF(3).list()
K=VectorSpace(GF(3),4);K
K.list()
K.cardinality()
generiranje potprostora
U=span([[1,2,-1,3],[2,4,1,-2],[3,6,3,-7]],QQbar) W=span([[1,2,-4,11],[2,4,-5,14]],QQbar)
U
W
U==W
U1=(QQbar^4).subspace([[1,2,-1,3],[2,4,1,-2],[3,6,3,-7]]) W1=(QQbar^4).subspace([[1,2,-4,11],[2,4,-5,14]])
U1
W1
W2=(QQbar^4).subspace_with_basis([[1,2,-4,11],[2,4,-5,14]]);W2
W2.basis()
U2=(QQbar^4).subspace_with_basis([[1,2,-1,3],[2,4,1,-2],[3,6,3,-7]])